#!/usr/bin/make -f

export INSTALL_MOD_DIR:=extra

PACKAGE_PRE_NAME := sonic-platform-modules-bfn-newport
KVERSION   ?= $(shell uname -r)
KERNEL_SRC :=  /lib/modules/$(KVERSION)
MODULE_SRC := $(shell pwd)/modules
SCRIPT_SRC := $(shell pwd)/scripts
CONFIGS_SRC := $(shell pwd)/configs
BUILD_DIR := $(shell pwd)/build
WHEEL_BUILD_DIR := $(BUILD_DIR)/wheel
MODULE_NAMES := as9516 as9516bf

%:
	dh $@ --with python3 --buildsystem=pybuild

override_dh_auto_build:
	make -C $(KERNEL_SRC)/build M=$(MODULE_SRC)
	set -e
	python3 setup.py bdist_wheel -d $(WHEEL_BUILD_DIR)
	set +e

override_dh_auto_install:
	(for mod in $(MODULE_NAMES); do \
		dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} $(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
		cp $(MODULE_SRC)/*.ko debian/$(PACKAGE_PRE_NAME)-$${mod}/$(KERNEL_SRC)/$(INSTALL_MOD_DIR); \
		dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} usr/local/bin; \
		cp -r $(SCRIPT_SRC)/* debian/$(PACKAGE_PRE_NAME)-$${mod}/usr/local/bin; \
		dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} etc/network/interfaces.d/; \
		cp -r $(CONFIGS_SRC)/network/interfaces.d/* debian/$(PACKAGE_PRE_NAME)-$${mod}/etc/network/interfaces.d/; \
		dh_installdirs -p$(PACKAGE_PRE_NAME)-$${mod} usr/share/sonic/device/x86_64-accton_$${mod}_32d-r0/; \
		cp -r $(WHEEL_BUILD_DIR)/*  debian/$(PACKAGE_PRE_NAME)-$${mod}/usr/share/sonic/device/x86_64-accton_$${mod}_32d-r0/; \
	done)

override_dh_usrlocal:

override_dh_pysupport:

override_dh_clean:
	dh_clean
	rm -fr $(WHEEL_BUILD_DIR)
	rm -fr *.egg-info
	rm -fr $(BUILD)
	rm -f $(MODULE_SRC)/*.o $(MODULE_SRC)/*.ko $(MODULE_SRC)/*.mod.c $(MODULE_SRC)/.*.cmd
	rm -f $(MODULE_SRC)/Module.markers $(MODULE_SRC)/Module.symvers $(MODULE_SRC)/modules.order
	rm -rf $(MODULE_SRC)/.tmp_versions

